Skip to content

Fix some of Issue 19249#8719

Closed
thewilsonator wants to merge 1 commit intodlang:masterfrom
thewilsonator:fix-casts
Closed

Fix some of Issue 19249#8719
thewilsonator wants to merge 1 commit intodlang:masterfrom
thewilsonator:fix-casts

Conversation

@thewilsonator
Copy link
Contributor

No description provided.

@dlang-bot
Copy link
Contributor

Thanks for your pull request and interest in making D better, @thewilsonator! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the annotated coverage diff directly on GitHub with CodeCov's browser extension
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Auto-close Bugzilla Severity Description
19249 normal Trying to build DMD for windows with LDC fails

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub fetch digger
dub run digger -- build "master + dmd#8719"

@wilzbach
Copy link
Contributor

Isn't building with LDC already tested on appveyor?
https://github.com/dlang/dmd/blob/master/appveyor.yml

Maybe that setup could be improved to avoid further regressions...

else static if (is(T == int)) return cast(T)ld_read(&this);
else static if (is(T == uint)) return cast(T)ld_read(&this);
// Account for __c_[u]long
else static if (__traits(isIntegral,T))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that on Win32, the host druntime's alias d_int32 = core.stdc.stdint.int32_t = core.stdc.config.cpp_long = __c_long (which is a magic enum). I've had a quick look into the VS 2017 stdint.h, and there int32_t is defined as int, not long, which would fix this as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Closing in favour of dlang/druntime#2302

@kinke
Copy link
Contributor

kinke commented Sep 20, 2018

Isn't building with LDC already tested on appveyor?

This is a core.stdc.stdint regression in druntime 2.081 (for Win32). The used LDC for AppVeyor is 1.8 = 2.078 (and performs a 32-bit-only build AFAICT).

@thewilsonator thewilsonator deleted the fix-casts branch July 1, 2021 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants